package chapter_22_state.p2_sample1;

/**
 * Created by yao on 2016/10/11.
 */
public class Examine {

    private Step step;

    public Examine() {
        this.step = Step.UNAUDITED;     //默认未审核
    }

    /**
     *
     * @param status 1：表示成功并且更进一步。未审核-》审核
     *               0:审核不通过
     */
    public void push(int status){
        switch (status){
            case 1:
                if(step == Step.UNAUDITED){         //status=1：如果是未审核状态，则step设置成审核中
                    step = Step.AUDIT;
                }else if(step == Step.AUDIT){       //status=1:如果是审核中状态，则step设置成审核通过
                    step = Step.PASS;
                }else if(step == Step.NOT_PASS){    //status=1:如果是审核不通过状态，不做操作直接打印审核不通过成功语句
                    System.out.println("审核已经被否决");
                }else if(step == Step.PASS){        //status=1:如果是审核通过状态，不做操作直接打印审核成功语句
                    System.out.println("审核已经通过");
                }
                break;
            case 0:
                step = Step.NOT_PASS;
                break;
        }
    }
}
